home *** CD-ROM | disk | FTP | other *** search
/ Assembly Language Step by Step / Assembly Language Step by Step.mdf / README.TXT < prev   
Text File  |  1999-12-13  |  7KB  |  147 lines

  1. ASSEMBLY LANGUAGE STEP BY STEP, SECOND EDITION
  2. By Jeff Duntemann K7JPD
  3. www.duntemann.com
  4.  
  5.  
  6. README file for the book CD
  7.  
  8. Last Updated 12/12/1999
  9.  
  10.  
  11. This CD contain software copyrighted by its respective authors; see the license files for 
  12. the individual software tools.  All other material on this CD (c) 2000 by Jeff Duntemann.
  13.  
  14.  
  15. OVERVIEW
  16. This book covers both DOS and Linux assembly language, so the CD has been divided 
  17. into two major sections in two subdirectories: ForDos and ForLinux.  All materials 
  18. pertinent to the DOS discussions in the book are under the ForDos subdirectory; all 
  19. materials pertinent to Linux are under ForLinux.
  20.  
  21. SOFTWARE ACKNOWLEDGEMENTS
  22. All software included here is included by permission of the authors, whom I graciously 
  23. thank for the privilege.  Check the home pages for the various tools to catch the latest 
  24. updates.  This book was published in early 2000 and may be in print for a long time.  Do 
  25. NOT assume that the software pressed onto the CD in January 2000 will be current when 
  26. you buy the book.  The first edition of this book was in print from 1992 to 2000!
  27.  
  28. * NASM
  29. By NASM team leader Julian "Jules" Hall, plus team members Simon Tatham, H. Peter 
  30. Anvin, John Fine, Kendall Bennet, Gary Clark, and Andrew Crabtree: 
  31. http://www.web-sites.co.uk/nasm/
  32.  
  33. * NASM-IDE
  34. By Robert Anderton: http://www.inglenook.co.uk/nasmide/
  35.  
  36. * ALINK
  37. By Anthony Williams: http://alink.home.dhs.org/
  38.  
  39.  
  40. INSTALLATION
  41. There is no single "installation" utility.  That's a Windows convention, and we're not 
  42. dealing with Windows here.  You have to set up your working directories manually, as in 
  43. the bad old days.
  44.  
  45. This should be obvious, but note well: You CANNOT work off the CD.  NASM-IDE, in 
  46. particular, writes to its .INI file, and you can't write to the CD.  Copy everything you'll 
  47. need off the CD into an appropriate place on your hard drive.
  48.  
  49. DOS
  50. There's a directory under FORDOS called ASM.  If you drag the ASM directory to a hard 
  51. disk under Windows Explorer, it will copy everything you need off the CD to your hard 
  52. disk.  If you're working under DOS you'll need to use XCOPY to get the subdirectories.
  53.  
  54. For simplicity's sake I just piled everything into that one ASM directory: NASM, NASM-
  55. IDE, ALINK, and all your source code.  This isn't good practice if you're doing a lot of 
  56. sophisticated work in assembly, but it'll do while you get your bearings.  Once you begin 
  57. doing "real" work you'll probably want to set up a more sophisticated directory scheme, 
  58. but everybody has his or her own tastes for that and I won't presume to tell you what to 
  59. do.  There are separate directories for the tools under ASM, and one way to begin is to 
  60. put those directories on your path.  But once you get good enough to need to add some 
  61. organization to your directories, you'll know what to do.
  62.  
  63. Other odd notes: 
  64.  
  65. * The version of NASM I provide for DOS work is called NASM16.EXE.  There are 
  66. several versions, but this is the one for which I wrote and tested the example code, and 
  67. the only one you'll find on the CD.
  68.  
  69. * The NASM documentation is present in two forms, both in the FORDOS section.  One 
  70. is a single Postscript file, the other separate chapter files in HTML.  I recommend 
  71. printing it out and putting it in a binder.  Once you get beyond the beginner stage you're 
  72. going to have to digest that doc thoroughly.
  73.  
  74. * The Alink linker (ALINK.EXE) requires that another file be either on your path or in 
  75. your work directory before you can use the linker. This file is RSX.EXE.  You don't have 
  76. to run it; Alink runs it "behind the scenes" when you run Alink.
  77.  
  78. * Make sure you read the CAUTIONS header at the end of this file if you're using 
  79. Windows NT4.  NASM-IDE has done some odd things for me when I had it on an NTFS 
  80. file system under NT4.
  81.  
  82. LINUX
  83. First of all, make SURE you know your way around Linux before you try programming 
  84. for it in assembly.  The book doesn't attempt to teach Linux, and if you've never used 
  85. Linux before you're going to be completely lost.  Get a couple of good books on it and 
  86. study up for a week or two before you start programming.  Books are beginning to appear 
  87. for individual distributions in late 1999 and that trend will only continue.
  88.  
  89. There are detailed instructions for installing NASM in Chapter 12.  Read them and follow 
  90. them EXACTLY.  This involves rebuilding the assembler from source code, which I 
  91. provide in the file nasm-0.98.tar.  This is less scary than it sounds, but you really ought to 
  92. be comfortable with the Linux file systems and common Linux commands before you 
  93. attempt it.
  94.  
  95. You don't need to scrounge a linker for Linux work; Linux comes with a linker and the 
  96. gcc C compiler invokes it automatically.  This may sound weird but get used to it: You 
  97. link by running a C compiler.  There's a full explanation in Chapter 12.
  98.  
  99. I recommend that you use EMACS for your editor.  EMACS is installed with every copy 
  100. of Linux I've ever seen, and there are some good books about it.  But note that I do not 
  101. provide an editor for Linux work.
  102.  
  103. I have placed every example program for Linux in its own subdirectory, and I 
  104. recommend copying all these subdirectories to a place on your hard drive.  Placing each 
  105. project in a separate directory is a Unix custom, and this allows the make file to have the 
  106. same name for all projects.  (The name of the make file is simply "makefile.")
  107.  
  108. Again, you need to read Chapter 12 completely before trying to do any assembly 
  109. programming for Linux.  It's a lot more involved than DOS, which is a mere shadow of 
  110. the operating system that Linux is.
  111.  
  112. JLIST10
  113. There is a little utility I wrote years ago in Borland Pascal present on the CD: 
  114. JLIST10.EXE.  It's a LaserJet listings printer, and it can create nice printouts from any 
  115. text file.  Just type the name of the file you want to print (the filename can include 
  116. wildcards) on the command line after the utility's name:
  117.  
  118. JLIST10 *.ASM
  119. JLIST10 EAT5.LST
  120.  
  121. etc.  Although I wrote JLIST10 in Pascal, it would make an interesting "term project" to 
  122. duplicate it in assembly, particularly for Linux.
  123.  
  124. ERRATA
  125. I will try to maintain a current list of typos and such on my personal home page: 
  126. www.duntemann.com.  I change it often, so I won't give any specific URLs within the 
  127. site.  Just go to www.duntemann.com and look for my assembly language section.
  128.  
  129. CAUTIONS
  130. There are some weirdnesses involved in using NASM-IDE in a DOS box under Windows 
  131. NT4, especially with Service Pack 4 and later.  When you exit NASM-IDE, it deletes its 
  132. .INI file and you have to re-copy it from archive.  The author is working on it; check the 
  133. NASM-IDE Web site for updates:
  134.  
  135. http://www.inglenook.co.uk/nasmide/
  136.  
  137. Also, in an NT4 DOS box the NASM-IDE include directory field in the 
  138. Options|Directories menu item doesn't seem to apply its path to the assemble operation.  
  139. This problem occurs on NTFS file systems only, as far as I can tell.  If you're running 
  140. NT4 but working on a FAT file system you shouldn't run into it.
  141.  
  142. Every NT4 service pack seems to make NT more hostile to DOS apps like NASM-IDE.  
  143. The DOS emulation under NT4 is just that: Emulation.  It isn't "really" DOS at all. To do 
  144. DOS work I recommend using Windows 95 or 98 or actual DOS.  
  145.  
  146.  
  147.